css: Avoid more type checks in hot paths
authorTimm Bäder <mail@baedert.org>
Sat, 17 Aug 2019 16:55:35 +0000 (18:55 +0200)
committerTimm Bäder <mail@baedert.org>
Mon, 9 Sep 2019 15:36:23 +0000 (17:36 +0200)
gtk/gtkcssimagebuiltin.c
gtk/gtkcssimageicontheme.c
gtk/gtkcssimagelinear.c
gtk/gtkcssimageradial.c
gtk/gtkcssstaticstyle.c

index d8d3efa699618220ddf6411abd0564c10ad66066..f377e44e899f39172c475e10be55a03e666313e2 100644 (file)
@@ -494,8 +494,8 @@ static gboolean
 gtk_css_image_builtin_equal (GtkCssImage *image1,
                              GtkCssImage *image2)
 {
-  GtkCssImageBuiltin *builtin1 = GTK_CSS_IMAGE_BUILTIN (image1);
-  GtkCssImageBuiltin *builtin2 = GTK_CSS_IMAGE_BUILTIN (image2);
+  GtkCssImageBuiltin *builtin1 = (GtkCssImageBuiltin *) image1;
+  GtkCssImageBuiltin *builtin2 = (GtkCssImageBuiltin *) image2;
 
   return gdk_rgba_equal (&builtin1->fg_color, &builtin2->fg_color)
       && gdk_rgba_equal (&builtin1->bg_color, &builtin2->bg_color);
index 5a194862b08ca35ef30aa317345c88ce512fd4b6..582dbfec30b075be02daad8d0333bbe179956906 100644 (file)
@@ -187,8 +187,8 @@ static gboolean
 gtk_css_image_icon_theme_equal (GtkCssImage *image1,
                                 GtkCssImage *image2)
 {
-  GtkCssImageIconTheme *icon_theme1 = GTK_CSS_IMAGE_ICON_THEME (image1);
-  GtkCssImageIconTheme *icon_theme2 = GTK_CSS_IMAGE_ICON_THEME (image2);
+  GtkCssImageIconTheme *icon_theme1 = (GtkCssImageIconTheme *) image1;
+  GtkCssImageIconTheme *icon_theme2 = (GtkCssImageIconTheme *) image2;
 
   return g_str_equal (icon_theme1->name, icon_theme2->name);
 }
index 6c79da2978af9e33f32733a3b3d92913fbcecdcc..a1d1bf4ebae324885f47c455c735152949663885 100644 (file)
@@ -577,8 +577,8 @@ static gboolean
 gtk_css_image_linear_equal (GtkCssImage *image1,
                             GtkCssImage *image2)
 {
-  GtkCssImageLinear *linear1 = GTK_CSS_IMAGE_LINEAR (image1);
-  GtkCssImageLinear *linear2 = GTK_CSS_IMAGE_LINEAR (image2);
+  GtkCssImageLinear *linear1 = (GtkCssImageLinear *) image1;
+  GtkCssImageLinear *linear2 = (GtkCssImageLinear *) image2;
   guint i;
 
   if (linear1->repeating != linear2->repeating ||
index 930fc5b6e0b17561c3d25c9f2cb285f7e0c40c23..4dafe162ce5712ec77f5e54afa175f0461b04879 100644 (file)
@@ -629,8 +629,8 @@ static gboolean
 gtk_css_image_radial_equal (GtkCssImage *image1,
                             GtkCssImage *image2)
 {
-  GtkCssImageRadial *radial1 = GTK_CSS_IMAGE_RADIAL (image1);
-  GtkCssImageRadial *radial2 = GTK_CSS_IMAGE_RADIAL (image2);
+  GtkCssImageRadial *radial1 = (GtkCssImageRadial *) image1;
+  GtkCssImageRadial *radial2 = (GtkCssImageRadial *) image2;
   guint i;
 
   if (radial1->repeating != radial2->repeating ||
index d0557597a3fd981f77ec44ed8dd23de97fd106a7..ef6ac593b6efefa43fac7e753e1b49547aa198f3 100644 (file)
@@ -225,7 +225,7 @@ gtk_css_static_style_compute_value (GtkCssStaticStyle *style,
   else
     _gtk_css_value_ref (specified);
 
-  value = _gtk_css_value_compute (specified, id, provider, GTK_CSS_STYLE (style), parent_style);
+  value = _gtk_css_value_compute (specified, id, provider, (GtkCssStyle *)style, parent_style);
 
   gtk_css_static_style_set_value (style, id, value, section);